package com.sprouting.ops.model.bo;

import com.sprouting.ops.annotations.invoke.CheckIsNullOrEmpty;
import com.sprouting.ops.annotations.invoke.CheckLength;
import com.sprouting.ops.annotations.invoke.CheckNotNull;
import com.sprouting.ops.interfaces.AddGroup;
import com.sprouting.ops.interfaces.UpdGroup;
import lombok.Data;

import javax.validation.constraints.NotEmpty;
import java.util.List;

/**
 * 角色保存参数
 *
 * @author ：LX（长沙麓谷）
 * @date 创建时间： 2024/9/5 0:21
 */
@Data
public class OpsRoleSaveUpdBo {

    /**
     * 主键
     */
    @CheckNotNull(message = "非法ID", groups = UpdGroup.class)
    @CheckIsNullOrEmpty(message = "无效ID", groups = AddGroup.class)
    private String id;
    /**
     * 角色名称-有且唯一
     */
    @CheckNotNull(message = "请输入角色名称")
    @CheckLength(min = 1, max = 200, message = "角色名称超过长度限制")
    private String name;
    /**
     * 角色说明
     */
    @CheckNotNull(message = "请输入角色说明")
    @CheckLength(min = 1, max = 1000, message = "角色说明超过长度限制")
    private String description;
    /**
     * 角色代码-有且唯一
     */
    @CheckNotNull(message = "请输入角色代码")
    @CheckLength(min = 1, max = 100, message = "角色代码超过长度限制")
    private String code;
    /**
     * 是否基础数据
     * @see com.sprouting.ops.interfaces.ConstantBase.BaseData
     */
    private Integer baseData;

    /**
     * 权限集合
     */
    @NotEmpty(message = "请选择权限")
    private List<String> resourceIdList;
}
